/*
*          D7... GET_MEM_ERROR             
*          D6... FREE_MEM_ERROR                  
*          D5... FREE_MEM_PERMISSION_ERROR 
*          D4... FREE_MEM_RANGE_ERROR      
*/

/* Najprej kličemo GETMEM */ 
	
	
/* Prvi blok si spravimo za zapis vseh vrednosti */

LOOP:
  MOVE.L	#SVCGMEM,	%D0		/* CALL GETMEM SVC */
	TRAP	#0			 
	TST	%D0			 /*CHECK WHAT WAS RETURNED                                              */
	BMI	LOOP 			 /*RESTART IF ERROR CODE WAS RETURNED                               */
	MOVE.L %D0,%A2			 /*V A2 bomo imeli shranjen naslov našega hranilnega bloka */
	MOVE.L %D0,%D1
	ADD.L	 #16,%D1			 /*Odmik za štiri mesta naprej */
	MOVE.L %D0,%A3
	ADD.L	 #48,%A3
	MOVE.L %D0,%A4
	ADD.L  #80,%A4
				
/* Začnemo s prvo zanko */

	MOVE.L	#0, %D1
LOOP1:
	MOVE.L	#SVCGMEM,%D0
	TRAP	#0			
	MOVE.L	%D1,%D2 			/* Indeks spravimo v D2 zaradi kasnejšega množenja          */
	ASL.L	#2,%D2 			/* Pomnožimo z 4                                                     */
	MOVE.L	%D0,%A1@(%D2)  		/*TODO:Preveri tole naslavljanje                              */
	 
	ADD.L	#1, %D1	
	
	MOVE.L	#100,%D2			/* LET'S WAIT A BIT                                                 */
WAIT:
  SUB.L	#1,%D2			/* ...                                                              */
	BNE	WAIT			/* DONE WAITING                                                                 */
	
	CMP.L	#32,%D1
	BLT	LOOP1

/* Potem kličemo zanko s FREEMEM */

	MOVE.L	#0, %D1
LOOP2:
  MOVE.L	%D1,%D2 			/* Indeks spravimo v D2 zaradi kasnejšega množenja
	ASL	#2,%D2 			/* Pomnožimo z 4	
		
	CMPI	#E_OUTOFMEM,%A1@(%D2)	/* Preverimo za napake pri getMem
	BNE	NEXT
	ADDI	#1,%A2@(0)

NEXT	MOVE.L	%A1@(%D2),%A0
	MOVE.L	#SVCFMEM,%D0  		/* Klic FREEMEM
	TRAP	#0	
		
	MOVE.L	%D1,%D2 			/* Indeks spravimo v D2 zaradi kasnejšega množenja
	ROL	#2,%D2 			/* Pomnožimo z 4
	MOVE.L	%D0,%A3@(%D2)  		/*TODO:Preveri tole naslavljanje
	 	
	MOVE.L	%A1@(%D2),%A0		/*pIPRAVIMO ZA DGI KLIC freememe,KI MORA BITI SKOZ NEUSPEŠEN
	MOVE.L	#SVCFMEM,%D0  		/* Klic FREEMEM
	TRAP	#0	
		
	MOVE.L	%D0,%A4@(%D2)  		/*TODO:Preveri tole naslavljanje         */
	 	
	ADD.L	#1,%D1	
	CMP.L	#32,%D1
	BLT	LOOP2

